﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MJD.Comunes.Entidades;
using MJD.Transaccional.AccesoDatos.Fabricas;
using MJD.Transaccional.Comandos.Interfaces;

namespace MJD.Transaccional.Comandos.Implementacion.ComandosAseguradora
{
    /// <summary>
    /// Comando que consulta las aseguradoras dado los parametros indicados
    /// </summary>
    public class ConsultarAseguradoras : IComando<IList<Aseguradora>>
    {

        #region Atributos

        /// <summary>
        /// Objeto que posee los parametros para la consulta
        /// </summary>
        private Aseguradora _consulta;

        #endregion

        #region Constructor

        /// <summary> Constructor de la clase </summary>
        /// <param name="consulta">parametros para la consulta</param>
        public ConsultarAseguradoras(Aseguradora consulta)
        {
            _consulta = consulta;
        }

        #endregion

        #region Implementacion
        
        /// <summary> Metodo que realiza la accion del comando </summary>
        /// <returns>Lista de las aseguradoras que cumplen con los parametros</returns>
        public IList<Aseguradora> Ejecutar()
        {
            return FabricaDao.ObtenerManejador().ObtenerDaoAseguradora().ConsultarAseguradora(_consulta);
        }
        #endregion
    }
}
